#include <iostream>
#include <string>

using namespace std;


// 重载的条件 参数类型 以及 个数   
/*
1、函数名相同
2、参数类型不同
3、参数个数不同
4、参数的顺序

和返回值无关
*/
int Add_func(int val_1 , int val_2)
{
    return val_1 + val_2;
}


double Add_func(double val_1 , double val_2 )
{
    return val_1 + val_2;
}
// Add_funcddd
void Add_func(double val_1 , double val_2 , double & val_3)
{
    val_3 = val_1 + val_2;
}

void Add_func(string s1 , double val_1 , double val_2 )
{
    cout << s1 << val_1 + val_2 << endl;
}
// Add_funcdds
void Add_func( double val_1 , double val_2 , string s1)
{
    cout << s1 << val_1 + val_2 << endl;
}


int main(int argc, char const *argv[])
{


    cout << "80 + 50 = " << Add_func(80 , 50) << endl;
    cout << "10.03 + 10.07 = " << Add_func(10.03, 10.07) << endl;

    double val_3;

    Add_func(3.14 , 9.12 , val_3);
    cout << "3.14 + 9.12 = " << val_3 << endl;


    Add_func("3.14 + 9.12 = " , 3.14 , 9.12 );

    Add_func( 3.14 , 9.12 , "3.14 + 9.12 = " );
    
    return 0;
}
